//package com.cj.interceptor;
//
//import org.apache.ibatis.executor.Executor;
//import org.apache.ibatis.mapping.MappedStatement;
//import org.apache.ibatis.plugin.Interceptor;
//import org.apache.ibatis.plugin.Intercepts;
//import org.apache.ibatis.plugin.Invocation;
//import org.apache.ibatis.plugin.Signature;
//import org.apache.ibatis.session.ResultHandler;
//import org.apache.ibatis.session.RowBounds;
//
//import java.util.Properties;
//
///**
// * @author cc
// * @date 2025-05-23 09:24
// **/
//@Intercepts({
//        @Signature(type= Executor.class,method = "query",args={MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}),
//        @Signature(type= Executor.class,method = "close",args = {boolean.class})
//})
//public class ExamplePlugin implements Interceptor {
//
//    private int testProp;
//
//    /**
//     *
//     * @param invocation    return interceptor.intercept(new Invocation(target, method, args));
//     *                      这里面封装了 target：目标对象，，
//     *                      method： 目标方法
//     *                      args： 方法参数
//     *                      并提供了 Invocation.proceed()方法，用来执行这个方法
//     * @return
//     * @throws Throwable
//     */
//    @Override
//    public Object intercept(Invocation invocation) throws Throwable {
//        return null;
//    }
//
//
//    @Override
//    public Object plugin(Object target) {
//        return Interceptor.super.plugin(target);
//    }
//
//    @Override
//    public void setProperties(Properties properties) {
//        Interceptor.super.setProperties(properties);
//    }
//}
